# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-clusters-output-file=- -analysis-clustering-epsilon=0.5 -analysis-inconsistency-epsilon=0.5 -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-CLUSTERS-ALL %s
# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-inconsistencies-output-file=- -analysis-clustering-epsilon=0.5 -analysis-inconsistency-epsilon=0.5 -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-INCONSISTENCIES-STABLE-05 %s
# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-inconsistencies-output-file=- -analysis-clustering-epsilon=0.5 -analysis-inconsistency-epsilon=0.5 -analysis-display-unstable-clusters -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-INCONSISTENCIES-UNSTABLE-05 %s

# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-clusters-output-file=- -analysis-clustering-epsilon=0.49 -analysis-inconsistency-epsilon=0.5 -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-CLUSTERS-ALL %s
# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-inconsistencies-output-file=- -analysis-clustering-epsilon=0.49 -analysis-inconsistency-epsilon=0.5 -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-INCONSISTENCIES-STABLE-049 %s
# RUN: llvm-exegesis -mode=analysis -benchmarks-file=%s -analysis-inconsistencies-output-file=- -analysis-clustering-epsilon=0.49 -analysis-inconsistency-epsilon=0.5 -analysis-display-unstable-clusters -analysis-numpoints=1 -analysis-clustering=naive | FileCheck -check-prefixes=CHECK-INCONSISTENCIES-UNSTABLE-049 %s

# CHECK-CLUSTERS-ALL: {{^}}cluster_id,opcode_name,config,sched_class,latency{{$}}

# CHECK-CLUSTERS-ALL-NEXT: {{^}}0,
# CHECK-CLUSTERS-ALL-SAME: ,90.00{{$}}
# CHECK-CLUSTERS-ALL: {{^}}0,
# CHECK-CLUSTERS-ALL-SAME: ,90.50{{$}}

# CHECK-INCONSISTENCIES-STABLE-05: ADD32rr
# CHECK-INCONSISTENCIES-STABLE-05: ADD32rr
# CHECK-INCONSISTENCIES-STABLE-05-NOT: ADD32rr

# CHECK-INCONSISTENCIES-UNSTABLE-05-NOT: ADD32rr

# CHECK-INCONSISTENCIES-STABLE-049-NOT: ADD32rr

# CHECK-INCONSISTENCIES-UNSTABLE-049: ADD32rr
# CHECK-INCONSISTENCIES-UNSTABLE-049: ADD32rr
# CHECK-INCONSISTENCIES-UNSTABLE-049-NOT: ADD32rr

---
mode:            latency
key:
  instructions:
    - 'ADD32rr EDX EDX EAX'
  config:          ''
  register_initial_values:
    - 'EDX=0x0'
    - 'EAX=0x0'
cpu_name:        bdver2
llvm_triple:     x86_64-unknown-linux-gnu
num_repetitions: 10000
measurements:
  - { key: latency, value: 90.0000, per_snippet_value: 90.0000 }
error:           ''
info:            Repeating a single implicitly serial instruction
assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C3
---
mode:            latency
key:
  instructions:
    - 'ADD32rr EDX EDX EAX'
  config:          ''
  register_initial_values:
    - 'EDX=0x0'
    - 'EAX=0x0'
cpu_name:        bdver2
llvm_triple:     x86_64-unknown-linux-gnu
num_repetitions: 10000
measurements:
  - { key: latency, value: 90.5000, per_snippet_value: 90.5000 }
error:           ''
info:            Repeating a single implicitly serial instruction
assembled_snippet: BA00000000B80000000001C201C201C201C201C201C201C201C201C201C201C201C201C201C201C201C2C3
---
...
